<!-- HTML header for doxygen 1.8.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: IGCTensor Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Compute Library
   &#160;<span id="projectnumber">18.05</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.xhtml"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.xhtml"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="inherits.xhtml"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.xhtml"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classarm__compute_1_1_i_g_c_tensor.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">IGCTensor Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Interface for GLES Compute tensor.  
 <a href="classarm__compute_1_1_i_g_c_tensor.xhtml#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_i_g_c_tensor_8h_source.xhtml">IGCTensor.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for IGCTensor:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classarm__compute_1_1_i_g_c_tensor__coll__graph.svg" width="96" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.xhtml">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a78e2cb61c2ed12459fea5a97728d74d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#a78e2cb61c2ed12459fea5a97728d74d2">IGCTensor</a> ()</td></tr>
<tr class="memdesc:a78e2cb61c2ed12459fea5a97728d74d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a78e2cb61c2ed12459fea5a97728d74d2">More...</a><br /></td></tr>
<tr class="separator:a78e2cb61c2ed12459fea5a97728d74d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15242f453f1928c3dbc2a30ec08480e6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#a15242f453f1928c3dbc2a30ec08480e6">IGCTensor</a> (const <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> &amp;)=delete</td></tr>
<tr class="memdesc:a15242f453f1928c3dbc2a30ec08480e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copied (As this class contains pointers)  <a href="#a15242f453f1928c3dbc2a30ec08480e6">More...</a><br /></td></tr>
<tr class="separator:a15242f453f1928c3dbc2a30ec08480e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53ba7801ed7dbf945a0413addd6dc990"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#a53ba7801ed7dbf945a0413addd6dc990">operator=</a> (const <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> &amp;)=delete</td></tr>
<tr class="memdesc:a53ba7801ed7dbf945a0413addd6dc990"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent instances of this class from being copy assigned (As this class contains pointers)  <a href="#a53ba7801ed7dbf945a0413addd6dc990">More...</a><br /></td></tr>
<tr class="separator:a53ba7801ed7dbf945a0413addd6dc990"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcca5090c26cd20e37d2878510b32bad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#adcca5090c26cd20e37d2878510b32bad">IGCTensor</a> (<a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:adcca5090c26cd20e37d2878510b32bad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved.  <a href="#adcca5090c26cd20e37d2878510b32bad">More...</a><br /></td></tr>
<tr class="separator:adcca5090c26cd20e37d2878510b32bad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa49cf1d6ea350774509911cad4903ad6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#aa49cf1d6ea350774509911cad4903ad6">operator=</a> (<a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:aa49cf1d6ea350774509911cad4903ad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow instances of this class to be moved.  <a href="#aa49cf1d6ea350774509911cad4903ad6">More...</a><br /></td></tr>
<tr class="separator:aa49cf1d6ea350774509911cad4903ad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5f7b3eca1cadbb4e72617eca3d6faeb"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#aa5f7b3eca1cadbb4e72617eca3d6faeb">~IGCTensor</a> ()=default</td></tr>
<tr class="memdesc:aa5f7b3eca1cadbb4e72617eca3d6faeb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor.  <a href="#aa5f7b3eca1cadbb4e72617eca3d6faeb">More...</a><br /></td></tr>
<tr class="separator:aa5f7b3eca1cadbb4e72617eca3d6faeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14c53d2d17be6fa8a2c9861527c7b002"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#a14c53d2d17be6fa8a2c9861527c7b002">map</a> (bool blocking=true)</td></tr>
<tr class="memdesc:a14c53d2d17be6fa8a2c9861527c7b002"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map on an allocated buffer.  <a href="#a14c53d2d17be6fa8a2c9861527c7b002">More...</a><br /></td></tr>
<tr class="separator:a14c53d2d17be6fa8a2c9861527c7b002"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ffeb3b5abb3d61f62b58a391816201c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#a1ffeb3b5abb3d61f62b58a391816201c">unmap</a> ()</td></tr>
<tr class="memdesc:a1ffeb3b5abb3d61f62b58a391816201c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unmap an allocated and mapped buffer.  <a href="#a1ffeb3b5abb3d61f62b58a391816201c">More...</a><br /></td></tr>
<tr class="separator:a1ffeb3b5abb3d61f62b58a391816201c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8bb3912a3ce86b15842e79d0b421204"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#ac8bb3912a3ce86b15842e79d0b421204">clear</a> ()</td></tr>
<tr class="memdesc:ac8bb3912a3ce86b15842e79d0b421204"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the contents of the tensor synchronously.  <a href="#ac8bb3912a3ce86b15842e79d0b421204">More...</a><br /></td></tr>
<tr class="separator:ac8bb3912a3ce86b15842e79d0b421204"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace7b855e3c647d29cc37a1ce147901dc"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#ace7b855e3c647d29cc37a1ce147901dc">buffer</a> () const override</td></tr>
<tr class="memdesc:ace7b855e3c647d29cc37a1ce147901dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to be implemented by the child class to return a pointer to CPU memory.  <a href="#ace7b855e3c647d29cc37a1ce147901dc">More...</a><br /></td></tr>
<tr class="separator:ace7b855e3c647d29cc37a1ce147901dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78046d8dc1b472a13fe70d8862f2edaf"><td class="memItemLeft" align="right" valign="top">virtual GLuint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#a78046d8dc1b472a13fe70d8862f2edaf">gc_buffer</a> () const =0</td></tr>
<tr class="memdesc:a78046d8dc1b472a13fe70d8862f2edaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to be implemented by the child class to return the tensor's gles compute buffer id.  <a href="#a78046d8dc1b472a13fe70d8862f2edaf">More...</a><br /></td></tr>
<tr class="separator:a78046d8dc1b472a13fe70d8862f2edaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61f1b6619df2a9324c6360b077083f39"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#a61f1b6619df2a9324c6360b077083f39">needs_shifting</a> () const </td></tr>
<tr class="memdesc:a61f1b6619df2a9324c6360b077083f39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag indicating whether the tensor has been left aligned by a kernel and therefore needs shifting.  <a href="#a61f1b6619df2a9324c6360b077083f39">More...</a><br /></td></tr>
<tr class="separator:a61f1b6619df2a9324c6360b077083f39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69cfba8177b402abe134fdad5fe4c7dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#a69cfba8177b402abe134fdad5fe4c7dc">set_needs_shifting</a> (bool <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml#a61f1b6619df2a9324c6360b077083f39">needs_shifting</a>)</td></tr>
<tr class="memdesc:a69cfba8177b402abe134fdad5fe4c7dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the flag indicating whether or not a tensor needs shifting.  <a href="#a69cfba8177b402abe134fdad5fe4c7dc">More...</a><br /></td></tr>
<tr class="separator:a69cfba8177b402abe134fdad5fe4c7dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classarm__compute_1_1_i_tensor"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classarm__compute_1_1_i_tensor')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a></td></tr>
<tr class="memitem:a0e95dc1e53c361348314873b168ae237 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0e95dc1e53c361348314873b168ae237">info</a> () const =0</td></tr>
<tr class="memdesc:a0e95dc1e53c361348314873b168ae237 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to be implemented by the child class to return the tensor's metadata.  <a href="#a0e95dc1e53c361348314873b168ae237">More...</a><br /></td></tr>
<tr class="separator:a0e95dc1e53c361348314873b168ae237 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e6b5e55a2914b1fb1966310e7733ac4 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classarm__compute_1_1_i_tensor_info.xhtml">ITensorInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a7e6b5e55a2914b1fb1966310e7733ac4">info</a> ()=0</td></tr>
<tr class="memdesc:a7e6b5e55a2914b1fb1966310e7733ac4 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to be implemented by the child class to return the tensor's metadata.  <a href="#a7e6b5e55a2914b1fb1966310e7733ac4">More...</a><br /></td></tr>
<tr class="separator:a7e6b5e55a2914b1fb1966310e7733ac4 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aa2df36743089ac6814d83e7d4b7ffc inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a4aa2df36743089ac6814d83e7d4b7ffc">~ITensor</a> ()=default</td></tr>
<tr class="memdesc:a4aa2df36743089ac6814d83e7d4b7ffc inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default virtual destructor.  <a href="#a4aa2df36743089ac6814d83e7d4b7ffc">More...</a><br /></td></tr>
<tr class="separator:a4aa2df36743089ac6814d83e7d4b7ffc inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48c7a05cc63f541d732250e39339cee2 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a48c7a05cc63f541d732250e39339cee2">ptr_to_element</a> (const <a class="el" href="classarm__compute_1_1_coordinates.xhtml">Coordinates</a> &amp;id) const </td></tr>
<tr class="memdesc:a48c7a05cc63f541d732250e39339cee2 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the element at the passed coordinates.  <a href="#a48c7a05cc63f541d732250e39339cee2">More...</a><br /></td></tr>
<tr class="separator:a48c7a05cc63f541d732250e39339cee2 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a774ad8d5f4837f3d7de1876d367c5b inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a4a774ad8d5f4837f3d7de1876d367c5b">copy_from</a> (const <a class="el" href="classarm__compute_1_1_i_tensor.xhtml">ITensor</a> &amp;src)</td></tr>
<tr class="memdesc:a4a774ad8d5f4837f3d7de1876d367c5b inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the content of another tensor.  <a href="#a4a774ad8d5f4837f3d7de1876d367c5b">More...</a><br /></td></tr>
<tr class="separator:a4a774ad8d5f4837f3d7de1876d367c5b inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b092c86d6e0fb8a114281565953a02a inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a0b092c86d6e0fb8a114281565953a02a">print</a> (std::ostream &amp;s, <a class="el" href="structarm__compute_1_1_i_o_format_info.xhtml">IOFormatInfo</a> io_fmt=<a class="el" href="structarm__compute_1_1_i_o_format_info.xhtml">IOFormatInfo</a>()) const </td></tr>
<tr class="memdesc:a0b092c86d6e0fb8a114281565953a02a inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a tensor to a given stream using user defined formatting information.  <a href="#a0b092c86d6e0fb8a114281565953a02a">More...</a><br /></td></tr>
<tr class="separator:a0b092c86d6e0fb8a114281565953a02a inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58d056d9b5ad2bb18a0e07f4a902f385 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#a58d056d9b5ad2bb18a0e07f4a902f385">is_used</a> () const </td></tr>
<tr class="memdesc:a58d056d9b5ad2bb18a0e07f4a902f385 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags if the tensor is used or not.  <a href="#a58d056d9b5ad2bb18a0e07f4a902f385">More...</a><br /></td></tr>
<tr class="separator:a58d056d9b5ad2bb18a0e07f4a902f385 inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe4e1d42d62608a941124f0d50c3e48a inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classarm__compute_1_1_i_tensor.xhtml#afe4e1d42d62608a941124f0d50c3e48a">mark_as_unused</a> () const </td></tr>
<tr class="memdesc:afe4e1d42d62608a941124f0d50c3e48a inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marks a tensor as unused.  <a href="#afe4e1d42d62608a941124f0d50c3e48a">More...</a><br /></td></tr>
<tr class="separator:afe4e1d42d62608a941124f0d50c3e48a inherit pub_methods_classarm__compute_1_1_i_tensor"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Interface for GLES Compute tensor. </p>

<p>Definition at line <a class="el" href="_i_g_c_tensor_8h_source.xhtml#l00035">35</a> of file <a class="el" href="_i_g_c_tensor_8h_source.xhtml">IGCTensor.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a78e2cb61c2ed12459fea5a97728d74d2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Default constructor. </p>

</div>
</div>
<a class="anchor" id="a15242f453f1928c3dbc2a30ec08480e6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prevent instances of this class from being copied (As this class contains pointers) </p>

</div>
</div>
<a class="anchor" id="adcca5090c26cd20e37d2878510b32bad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> &amp;&amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allow instances of this class to be moved. </p>

</div>
</div>
<a class="anchor" id="aa5f7b3eca1cadbb4e72617eca3d6faeb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual ~<a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Virtual destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ace7b855e3c647d29cc37a1ce147901dc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* buffer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Interface to be implemented by the child class to return a pointer to CPU memory. </p>
<dl class="section return"><dt>Returns</dt><dd>A CPU pointer to the beginning of the image's allocation. </dd></dl>

<p>Implements <a class="el" href="classarm__compute_1_1_i_tensor.xhtml#ab988210662dbd3bf32fd563c7dd1bdbf">ITensor</a>.</p>

<p>Reimplemented in <a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml#ace7b855e3c647d29cc37a1ce147901dc">GCTensor</a>.</p>

</div>
</div>
<a class="anchor" id="ac8bb3912a3ce86b15842e79d0b421204"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void clear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clear the contents of the tensor synchronously. </p>

</div>
</div>
<a class="anchor" id="a78046d8dc1b472a13fe70d8862f2edaf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual GLuint gc_buffer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Interface to be implemented by the child class to return the tensor's gles compute buffer id. </p>
<dl class="section return"><dt>Returns</dt><dd>A SSBO buffer id. </dd></dl>

<p>Implemented in <a class="el" href="classarm__compute_1_1_g_c_tensor.xhtml#acccf4173f8c67e6f93ea3353c9590c9e">GCTensor</a>.</p>

</div>
</div>
<a class="anchor" id="a14c53d2d17be6fa8a2c9861527c7b002"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void map </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>blocking</em> = <code>true</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Map on an allocated buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">blocking</td><td>(Optional) If true, then the mapping will be ready to use by the time this method returns, else it is the caller's responsibility to flush the queue and wait for the mapping operation to have completed before using the returned mapping pointer. </td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="_g_l_e_s___c_o_m_p_u_t_e_2_helper_8h_source.xhtml#l00082">arm_compute::test::print_tensor()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00753">arm_compute::test::sync_tensor_if_necessary()</a>.</p>

</div>
</div>
<a class="anchor" id="a61f1b6619df2a9324c6360b077083f39"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool needs_shifting </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flag indicating whether the tensor has been left aligned by a kernel and therefore needs shifting. </p>
<dl class="section return"><dt>Returns</dt><dd>True if the tensor is left aligned. </dd></dl>

</div>
</div>
<a class="anchor" id="a53ba7801ed7dbf945a0413addd6dc990"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prevent instances of this class from being copy assigned (As this class contains pointers) </p>

</div>
</div>
<a class="anchor" id="aa49cf1d6ea350774509911cad4903ad6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a> &amp;&amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Allow instances of this class to be moved. </p>

</div>
</div>
<a class="anchor" id="a69cfba8177b402abe134fdad5fe4c7dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_needs_shifting </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>needs_shifting</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the flag indicating whether or not a tensor needs shifting. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">needs_shifting</td><td>Indicates if the tensor is left aligned or not. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1ffeb3b5abb3d61f62b58a391816201c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void unmap </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Unmap an allocated and mapped buffer. </p>

<p>Referenced by <a class="el" href="_g_l_e_s___c_o_m_p_u_t_e_2_helper_8h_source.xhtml#l00082">arm_compute::test::print_tensor()</a>, and <a class="el" href="tests_2_utils_8h_source.xhtml#l00753">arm_compute::test::sync_tensor_if_necessary()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>arm_compute/core/GLES_COMPUTE/<a class="el" href="_i_g_c_tensor_8h_source.xhtml">IGCTensor.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="classarm__compute_1_1_i_g_c_tensor.xhtml">IGCTensor</a></li>
    <li class="footer">Generated on Wed May 23 2018 11:36:42 for Compute Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
